/**
 * @description 请求状态码列表
 * - SUCCESS: 200 - 成功
 * - CREATED: 201 - 已创建
 * - BAD_REQUEST: 400 - 错误的请求
 * - UNAUTHORIZED: 401 - 未经授权
 * - FORBIDDEN: 403 - 禁止访问
 * - NOT_FOUND: 404 - 未找到
 * - INTERNAL_SERVER_ERROR: 500 - 服务器内部错误
 * - SERVICE_UNAVAILABLE: 503 - 服务不可用
 * - GATEWAY_TIMEOUT: 504 - 网关超时
 * - UNKNOWN_ERROR: 520 - 未知错误
 * - VALIDATION_ERROR: 422 - 验证错误
 * - UNPROCESSABLE_ENTITY: 422 - 无法处理的实体
 * - CONFLICT: 409 - 冲突
 * - TOO_MANY_REQUESTS: 429 - 请求过多
 * - NOT_IMPLEMENTED: 501 - 未实现
 * - NOT_MODIFIED: 304 - 未修改
 * - PRECONDITION_FAILED: 412 - 前提条件失败
 * - EXPECTATION_FAILED: 417 - 期望失败
 * - UNAVAILABLE_FOR_LEGAL_REASONS: 451 - 因法律原因不可用
 * - PAYMENT_REQUIRED: 402 - 需要付款
 * - METHOD_NOT_ALLOWED: 405 - 方法不允许
 * - REQUEST_TIMEOUT: 408 - 请求超时
 * - LENGTH_REQUIRED: 411 - 需要内容长度
 * - UNSUPPORTED_MEDIA_TYPE: 415 - 不支持的媒体类型
 * - IM_A_TEAPOT: 418 - 我是个茶壶 (RFC 2324)
 * - NETWORK_AUTHENTICATION_REQUIRED: 511 - 需要网络认证
 * - INSUFFICIENT_STORAGE: 507 - 存储空间不足
 * - LOOP_DETECTED: 508 - 检测到循环
 * - FAILED_DEPENDENCY: 424 - 失败的依赖
 */
export const EnumStatusCode = {
  /**
   * @description 成功
   * @value 200 */
  SUCCESS: 200,
  /**
   * @description 已创建
   * @value 201 */
  CREATED: 201,
  /**
   * @description 错误的请求
   * @value 400 */
  BAD_REQUEST: 400,
  /**
   * @description 未经授权
   * @value 401 */
  UNAUTHORIZED: 401,
  /**
   * @description 禁止访问
   * @value 403 */
  FORBIDDEN: 403,
  /**
   * @description 未找到
   * @value 404 */
  NOT_FOUND: 404,
  /**
   * @description 服务器内部错误
   * @value 500 */
  INTERNAL_SERVER_ERROR: 500,
  /**
   * @description 服务不可用
   * @value 503 */
  SERVICE_UNAVAILABLE: 503,
  /**
   * @description 网关超时
   * @value 504 */
  GATEWAY_TIMEOUT: 504,
  /**
   * @description 未知错误
   * @value 520 */
  UNKNOWN_ERROR: 520,
  /**
   * @description 验证错误
   * @value 422 */
  VALIDATION_ERROR: 422,
  /**
   * @description 无法处理的实体
   * @value 422 */
  UNPROCESSABLE_ENTITY: 422,
  /**
   * @description 冲突
   * @value 409 */
  CONFLICT: 409,
  /**
   * @description 请求过多
   * @value 429 */
  TOO_MANY_REQUESTS: 429,
  /**
   * @description 未实现
   * @value 501 */
  NOT_IMPLEMENTED: 501,
  /**
   * @description 未修改
   * @value 304 */
  NOT_MODIFIED: 304,
  /**
   * @description 前提条件失败
   * @value 412 */
  PRECONDITION_FAILED: 412,
  /**
   * @description 期望失败
   * @value 417 */
  EXPECTATION_FAILED: 417,
  /**
   * @description 因法律原因不可用
   * @value 451 */
  UNAVAILABLE_FOR_LEGAL_REASONS: 451,
  /**
   * @description 需要付款
   * @value 402 */
  PAYMENT_REQUIRED: 402,
  /**
   * @description 方法不允许
   * @value 405 */
  METHOD_NOT_ALLOWED: 405,
  /**
   * @description 请求超时
   * @value 408 */
  REQUEST_TIMEOUT: 408,
  /**
   * @description 需要内容长度
   * @value 411 */
  LENGTH_REQUIRED: 411,
  /**
   * @description 不支持的媒体类型
   * @value 415 */
  UNSUPPORTED_MEDIA_TYPE: 415,
  /**
   * @description 我是个茶壶 (RFC 2324)
   * @value 418 */
  IM_A_TEAPOT: 418,
  /**
   * @description 需要网络认证
   * @value 511 */
  NETWORK_AUTHENTICATION_REQUIRED: 511,
  /**
   * @description 存储空间不足
   * @value 507 */
  INSUFFICIENT_STORAGE: 507,
  /**
   * @description 检测到循环
   * @value 508 */
  LOOP_DETECTED: 508,
  /**
   * @description 失败的依赖
   * @value 424 */
  FAILED_DEPENDENCY: 424,
} as const;

// 类型定义
export type EnumStatusCodeType =
  (typeof EnumStatusCode)[keyof typeof EnumStatusCode];
